module top_module (
    input clk,
    input [7:0] in,
    output [7:0] pedge
);

    wire	[1:0]	D0;
    wire	[1:0]	D1;
    wire	[1:0]	D2;
    wire	[1:0]	D3;
    wire	[1:0]	D4;
    wire	[1:0]	D5;
    wire	[1:0]	D6;
    wire	[1:0]	D7;
    
    always @(posedge clk) begin
        D0 <= {D0[0], in[0]};
        D1 <= {D1[0], in[1]};
        D2 <= {D2[0], in[2]};
        D3 <= {D3[0], in[3]};
        D4 <= {D4[0], in[4]};
        D5 <= {D5[0], in[5]};
        D6 <= {D6[0], in[6]};
        D7 <= {D7[0], in[7]};
    end
    
    assign pedge[0] = ~D0[1] & D0[0];
    assign pedge[1] = ~D1[1] & D1[0];
    assign pedge[2] = ~D2[1] & D2[0];
    assign pedge[3] = ~D3[1] & D3[0];
    assign pedge[4] = ~D4[1] & D4[0];
    assign pedge[5] = ~D5[1] & D5[0];
    assign pedge[6] = ~D6[1] & D6[0];
    assign pedge[7] = ~D7[1] & D7[0];
    
endmodule
